package com.culturalCenter.dataCenter.customEntity.responseParam.training;

import com.culturalCenter.dataCenter.customEntity.CustomServicedNumber;
import com.culturalCenter.dataCenter.customEntity.CustomServicedNumberList;
import com.culturalCenter.dataCenter.customEntity.training.CustomDayTotal;
import com.culturalCenter.dataCenter.customEntity.training.CustomParticipationRateRank;
import com.culturalCenter.dataCenter.customEntity.training.CustomTrainingToday;
import com.culturalCenter.dataCenter.entity.training.*;
import com.culturalCenter.dataCenter.vo.TrainingClassVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

/**
 * @author : weicai
 * @date : 12:09 2020/9/21
 */
@ApiModel("培训主页返回数据")
@Data
public class TrainingMenuResponse implements Serializable {

    /**
     * 培训总数
     */
    @ApiModelProperty(value = "培训总数")
    private Integer trainingNum;
    /**
     * 本月培训
     */
    @ApiModelProperty(value = "本月培训")
    private Integer monthNum;
    /**
     * 今日培训
     */
    @ApiModelProperty(value = "今日培训")
    private Integer todayNum;
    /**
     * 本年培训班次
     */
    @ApiModelProperty(value = "本年培训班次")
    private Integer yearClassNums;
    /**
     * 本月培训班次
     */
    @ApiModelProperty(value = "本月培训班次")
    private Integer monthClassNums;
    /**
     * 今日培训班次
     */
    @ApiModelProperty(value = "今日培训班次")
    private Integer todayClassNums;
    /**
     * 本月每天新增培训
     */
    @ApiModelProperty(value = "本月每天新增培训")
    private List<CustomDayTotal> dayTotalList;
    /**
     * 本月每天培训班次数量
     */
    @ApiModelProperty(value = "本月每天培训班次数量")
    private List<TrainingClassVo> trainingClassVos;
    /**
     * 本月各部门举办培训数
     */
    @ApiModelProperty(value = "本月各部门举办培训数")
    private List<TrainingDepartmentStatistics> trainingNumList;
    /**
     * 本月各部门培训报名人数
     */
    @ApiModelProperty(value = "本月各部门培训报名人数")
    private List<TrainingDepartmentStatistics> trainingsNumList;
    /**
     * 今天培训
     */
    @ApiModelProperty(value = "今天培训")
    private List<CustomTrainingToday> trainingTodayList;
    /**
     * 今日推荐
     */
    @ApiModelProperty(value = "今日推荐")
    private List<Training> recommendTodayList;
    /**
     * 本月热门培训排行榜
     */
    @ApiModelProperty(value = "本月热门培训排行榜")
    private List<TrainingHost> popularTrainingList;
    /**
     * 本月各分类培训报名数同期对比
     */
    @ApiModelProperty(value = "本月各分类培训报名数同期对比")
    private List<TrainingTypeCount> thisMonthList;
    /**
     * 上月各分类培训报名数
     */
    @ApiModelProperty(value = "上月各分类培训报名数")
    private List<TrainingTypeCount> lastMonthList;
    /**
     * 培训报名时段
     */
    @ApiModelProperty(value = "培训报名时段")
    private List<TrainingTimeInterval> intervalList;
    /**
     * 培训平台入口
     */
    @ApiModelProperty(value = "培训平台入口")
    private List<TrainingClientCount> platformsRatioList;
    /**
     * 参与率排行榜
     */
    @ApiModelProperty(value = "参与率排行榜")
    private List<CustomParticipationRateRank> participationRateRankList;
    @ApiModelProperty(value = "")
    private List<CustomParticipationRateRank> ClassifyParticipationRateRankList;
    /**
     * 可选时间段_最早日期
     */
    @ApiModelProperty(value = "可选时间段_最早日期")
    private String earliestDate;
    /**
     * 可选时间段_最晚日期
     */
    @ApiModelProperty(value = "可选时间段_最晚日期")
    private String latestDate;
    /**
     * 服务人群
     */
    @ApiModelProperty(value = "服务人群")
    private Map<String, Integer> crowdMap;
    /**
     * 艺术分类
     */
    @ApiModelProperty(value = "艺术分类")
    private Map<String, Integer> artClassificationMap;
    /**
     * 服务人次列表
     */
    @ApiModelProperty(value = "服务人次列表")
    private List<CustomServicedNumberList> serviceNumberList;
    /**
     * 服务人次统计
     */
    @ApiModelProperty(value = "服务人次统计")
    private CustomServicedNumber servicedNumber;
    /**
     *培训平均参与率
     */
    private double avgParticipationRate;

}
